package com.oolong.account.dal;

import java.util.Date;
import java.util.List;

import com.oolong.account.vo.DateStaticVo;
import com.oolong.account.vo.MonthStaticVo;
import com.oolong.account.vo.TotalStaticVo;

public interface StaticDAO {

	/**
	 * @param user_id
	 * @return 返回本年每月的统计信息，包括每月总支出、每月总收入、每月余额
	 */
	List<MonthStaticVo> selectbymonth(Integer user_id);

	/**
	 * @param user_id
	 *            ,month
	 * @return 返回指定月份的统计信息，包括该月总支出、该月总收入、该月余额
	 */
	MonthStaticVo selectbyOnemonth(Integer user_id, String month);

	/**
	 * @param user_id
	 * @return 返回本月每日的支出金额
	 */
	List<DateStaticVo> selectByday(Integer user_id);

	/**
	 * @param user_id
	 * @param startday
	 * @param endday
	 * @return 根据日期期间，返回期间内每日支出金额，包括起始、截止当天的支出
	 */
	List<DateStaticVo> selectBybtwday(Integer user_id, Date startday,
			Date endday);

	/**
	 * @param user_id
	 * @param startday
	 * @param endday
	 * @return 根据日期期间，返回期间内每种子类的支出金额，包括起始、截止当天的支出
	 */
	List<DateStaticVo> selectTypeBybtwday(Integer user_id, Date startday,
			Date endday);

	/**
	 * @param user_id
	 * @return 返回该账户剩余的金额
	 */
	TotalStaticVo selecttotallast(Integer user_id);
}